With the widespread use of the Internet for transactions ranging from browsing websites to shopping to banking, the need to provide secure Internet service has become commonplace. One way to provide secure service is through the use of S-HTTP (Secure Hypertext Transfer Protocol). S-HTTP supports encryption/decryption and authentication of specific WWW (World Wide Web) documents sent over the Internet.
Alternatively, SSL (Secure Sockets Layer) is used to secure all traffic (i.e., the entire session as opposed to specific documents) for specific TCP/IP (Transmission Control Protocol/Internet Protocol) ports. SSL supports encryption and authentication. SSL provides a security handshake that is used to initiate the TCP/IP connection. This handshake results in the client and server agreeing on the level of security that will be used, and fulfills any authentication requirements for the connection.
Once the handshake is established, the SSL encrypts and decrypts the byte stream of the application protocol being used (such as HTTP, NNTP (Network News Transfer Protocol), or Telnet). Under the current state of the art, once the handshake is established, both client and server can freely exchange data, without regard to the particular application at hand.